package com.share.chat.mapper;

import com.share.chat.domain.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Map;

/**
 * @author 谢佳豪
 * @data 2021/7/3 - 18:14
 * @description
 */
@Repository
public interface UserMapper {

    /**
     * 用户登录接口
     * @param map 参数表，包括两个参数 password，account 有三种数据（邮箱、手机号、用户名）
     * @return
     */
    User login(Map<String, String> map);


    /**
     * 更新在线状态
     * @param username 用户名
     * @param isOnline 状态
     */
    void updateOnlineState(@Param("username") String username, @Param("isOnline") Boolean isOnline);


    /**
     * 根据用户名查询对应的头像
     * @param username
     * @return
     */
    String selectPictureByUsername(String username);


    /**
     * 对用户名进行查重
     * @param username
     * @return
     */
    int selectUsername(String username);

    /**
     * 对手机号进行查重
     * @param telephone
     * @return
     */
    int selectTelephone(String telephone);


    /**
     * 对邮箱进行查重
     * @param email
     * @return
     */
    int selectEmail(String email);


    /**
     * 往数据库中新增一条user信息
     * @param user 新添加的用户
     */
    void insertUser(User user);


}
